package com.util;

import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * Created by  qdf on 2019/4/12.
 */
public class FileUploadUtil {

    public static String savaFile(MultipartFile file,HttpServletRequest request) {
        if(file==null){
            return null;
        }
        String ContextPath= request.getSession().getServletContext().getRealPath("/");
        String fileName=file.getOriginalFilename();
        String fileExt=fileName.substring(fileName.lastIndexOf("."));
        String filePath = File.separator+"file"+File.separator+
                new SimpleDateFormat("yyyy").format(new Date())+File.separator+
                new SimpleDateFormat("MM").format(new Date())+File.separator+
                new SimpleDateFormat("dd").format(new Date())+File.separator+
                new SimpleDateFormat("yyyyMMddhhmmssSSS").format(new Date())+System.currentTimeMillis()+fileExt;
        File newFile=new File(ContextPath+"upload"+filePath);
        if(!newFile.getParentFile().getParentFile().getParentFile().getParentFile().exists()){
            newFile.getParentFile().getParentFile().getParentFile().getParentFile().mkdir();
        }
        if(!newFile.getParentFile().getParentFile().getParentFile().exists()){
            newFile.getParentFile().getParentFile().getParentFile().mkdir();
        }
        if(!newFile.getParentFile().getParentFile().exists()){
            newFile.getParentFile().getParentFile().mkdir();
        }
        if(!newFile.getParentFile().exists()){
            newFile.getParentFile().mkdir();
        }
        try {
            file.transferTo(newFile);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return filePath;
    }
}
